//
//  Copyright 2012 Alin Dobra and Christopher Jermaine
//
//  Licensed under the Apache License, Version 2.0 (the "License");
//  you may not use this file except in compliance with the License.
//  You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
//
#ifndef _DISTRIBUTION_FITTING_H_
#define _DISTRIBUTION_FITTING_H_

#include <vector>

using namespace std;

/** Interface for distributin fitting
 
		Return values:
		0: invalid
		1: Poisson(lambda)
		2: exponential(lambda)
		3: gamma(k, theta)
		4: power_law(gamma)
		5: lognormal(mu, sigma2)
		6: stretched_exponential(lambda, beta)
*/

int FitDistribution(vector<double>& distrib, double& param1, double& param2, double& param3);

#endif // _DISTRIBUTION_FITTING_H_
